草庐IT

iOS - EncodeWithCoder - 编码为零

全部标签

ruby - 在 Ruby/Rails 中,如何对 URL 中的特殊字符进行编码/转义?

在使用OpenURIopen(url)之前如何对URL进行编码或“转义”?我们正在使用OpenURI打开远程url并返回xml:getresult=open(url).read问题是URL包含一些包含空格和其他字符的用户输入文本,可能包括“+”、“&”、“?”等,因此我们需要安全地对URL进行转义。我在使用Net::HTTP时看到了很多示例,但没有找到任何用于OpenURI的示例。我们还需要能够对在session变量中收到的类似字符串进行反转义,因此我们需要倒数函数。 最佳答案 不要使用URI.escape,因为它已在1.9中弃用。

ruby-on-rails - 我可以在 Ruby 1.9 上设置默认字符串编码吗?

这听起来可能微不足道,但它让我抓狂。自上周五在Ruby1.9上发布应用程序到生产环境以来,我一直遇到许多与字符编码相关的小异常。几乎所有内容都是以下方面的一些变体:Encoding::CompatibilityError:incompatiblecharacterencodings:ASCII-8BITandUTF-8我们有一个国际用户群,所以很多名字都包含元音变音等。如果我修复模板以在很多地方使用force_encoding,它会在flash消息帮助器中弹出。等等。目前看来我已经确定了所有我知道的,方法是在一个地方修补ActiveSupport的字符串连接,然后在顶部设置#encod

ruby - 在 Ruby 中读取套接字时理解 IO.select

我有一些代码用于从网络套接字获取数据。它工作正常,但我通过反复试验失败了。我谦虚地承认我并不完全了解它是如何工作的,但我真的很想了解。(这是我发现的cargo崇拜形式的工作代码)我不明白的部分以“ready=IO.select...”开头,我不清楚:IO.select正在做什么(我尝试查找它,但对Kernel和其他东西更加困惑)IO.select的数组参数是做什么用的ready[0]正在做什么读取1024字节的大致思路?一次代码如下:@mysocket=TCPSocket.new('192.168.1.1',9761)th=Thread.newdowhiletrueready=IO.s

ruby - 如何将 IO 对象转换为 Ruby 中的字符串?

我正在处理一个IO对象(一些STDOUT输出文本),并且我正在尝试将它转换为一个字符串,以便我可以进行一些文本处理。我想做这样的事情:my_io_object=$stdout#=>#>my_io_object.puts('hi')#note:Iknowhowtomake'hi'intoastring,butthisisasimplifiedexample#=>himy_io_object.to_s我已经尝试了一些东西并得到了一些错误:my_io_object.read#=>IOError:notopenedforreadingmy_io_object.open#=>NoMethodEr

ruby-on-rails - Ruby/Rails 的编码风格检查器或代码格式化器

当我使用C#或Perl时,有一些有用的工具,如StyleCop、FxCop、Perl::Critic和Perltidy。他们可以自动检查或格式化我的代码。那么,是否有适用于Ruby或Rails的等效工具?我在Google上找到了一些工具,但我觉得它们的维护频率不高。 最佳答案 我尝试了两种不同的工具:rubocop和Cane。在一项测试中,我发现rubocop发出的警告几乎是cane的两倍(并且rubocop报告了Cane报告的所有内容)。所以,我推荐rubocop。红军rubocop是一个Rubycodestylecheckerb

ruby-on-rails - ERROR : While executing gem . .. (TypeError) 不兼容的编码文件格式(无法读取)

我在使用Ruby2.4.4版和macOSMojave运行bundleinstall时遇到了这个问题:Fetchingnokogiri1.8.5Installingnokogiri1.8.5withnativeextensionsGem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension.ERROR:cannotdiscoverwherelibxml2islocatedonyoursystem.pleasemakesure`pkg-config`isinstalled.所以我跑了xcode-select--install但是当我运

ruby-on-rails - JSON 编码错误转义(Rails 3、Ruby 1.9.2)

在我的Controller中,以下工作(打印“oké”)putsobj.inspect但这不会(呈现“ok\u00e9”)render:json=>obj显然to_json方法转义了unicode字符。有没有办法阻止这种情况? 最佳答案 将\uXXXX代码设置回utf-8:json_string.gsub!(/\\u([0-9a-z]{4})/){|s|[$1.to_i(16)].pack("U")} 关于ruby-on-rails-JSON编码错误转义(Rails3、Ruby1.9.2

ruby - 将 Ruby 字符串编码为 JSON 字符串

jsongem不允许直接将字符串编码为它们的JSON表示形式。我暂时移植了这段PHP代码:$text=json_encode($string);对于这个Ruby:text=string.inspect它似乎完成了这项工作,但出于某种原因,如果string本身包含带有换行符的文字字符串(它实际上是JS代码),这些换行符\n将保持原样\n,而不是编码为\\n。我能理解这是否是#inspect的正确行为,但是......如何在Ruby中将字符串值编码为其JSON表示形式? 最佳答案 这适用于stock1.9.3+标准库JSON:requi

ruby - 如何在 Ruby 中编码 lambda (Proc)?

乔范戴克askedtheRubymailinglist:Hi,InRuby,Iguessyoucan'tmarshalalambda/procobject,right?Isthatpossibleinlisporotherlanguages?WhatIwastryingtodo:l=lamda{...}Bj.submit"/path/to/ruby/program",:stdin=>Marshal.dump(l)So,I'msendingBackgroundJobalambdaobject,whichcontainsthecontext/codeforwhattodo.But,gues

ruby - Notepad++ 只是调用 "ANSI"的编码,有谁知道在 Ruby 中如何调用它?

我有一堆.txt,Notepad++说(在其下拉“编码”菜单中)是“ANSI”。它们中有德语字符[äöüß],在Notepad++中显示良好。但是当我File.read'thisisaGermantextexample.txt'它们时,它们并没有正确显示在irb中。那么有人知道我应该给Encoding.default_external=什么参数吗?(我假设这就是解决方案,对吧?)当'utf-8'或'cp850'时,它读取带有“äöüß”的“ANSI”文件为“\xE4\xF6\xFC\xDF”...(请不要犹豫,在你的回答中提及明显“显而易见”的事情;我和你一样新手,但仍然知道足以问这个